package com.itcast.security.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.itcast.common.model.dto.request.CheckItemAddReqDTO;
import com.itcast.common.model.dto.request.CheckItemGroupReqDTO;
import com.itcast.common.model.dto.request.CheckItemReqDTO;
import com.itcast.common.model.dto.response.CheckItemGroupResDTO;
import com.itcast.common.model.dto.response.CheckItemResDTO;
import com.itcast.security.model.Checkitem;
import com.jzo2o.common.model.PageResult;

import java.util.List;

public interface ICheckItemService extends IService<Checkitem> {

    /**
     * 分页查询检查项
     *
     * @param checkItemReqDTO
     * @return
     */
    PageResult<CheckItemResDTO> queryItemList(CheckItemReqDTO checkItemReqDTO);

    /**
     * 新增体检项
     *
     * @param checkItemAddReqDTO
     * @return
     */
    Checkitem addCheck(CheckItemAddReqDTO checkItemAddReqDTO);

    /**
     * 根据ID查询
     *
     * @param id
     * @return
     */
    CheckItemResDTO getByIdCheCk(Long id);

    /**
     * 启用检查项
     *
     * @param id
     * @return
     */
    Checkitem enable(Long id);

    /**
     * 禁用体检项
     *
     * @param id
     * @return
     */
    Checkitem checkDisable(Long id);

    Checkitem removeCheck(Long id);

    /**
     * 修改体检项
     *
     * @param id
     * @param checkItemAddReqDTO
     * @return
     */
    Checkitem updateCheckGroup(Long id, CheckItemAddReqDTO checkItemAddReqDTO);

    /**
     * 查询启用状态下的检查组和检查项
     * @param checkItemGroupReqDTO
     * @return
     */
    List<CheckItemGroupResDTO> queryCheckItemGroup(CheckItemGroupReqDTO checkItemGroupReqDTO);



}
